﻿namespace Common.Compress
{
    internal class TreeConstants
    {
        public static readonly int LCodes = 286;
        public static readonly int HeapSize = 2 * TreeConstants.LCodes + 1;
        public static readonly byte[] DistanceCode = new byte[512]
        {
      (byte) 0,
      (byte) 1,
      (byte) 2,
      (byte) 3,
      (byte) 4,
      (byte) 4,
      (byte) 5,
      (byte) 5,
      (byte) 6,
      (byte) 6,
      (byte) 6,
      (byte) 6,
      (byte) 7,
      (byte) 7,
      (byte) 7,
      (byte) 7,
      (byte) 8,
      (byte) 8,
      (byte) 8,
      (byte) 8,
      (byte) 8,
      (byte) 8,
      (byte) 8,
      (byte) 8,
      (byte) 9,
      (byte) 9,
      (byte) 9,
      (byte) 9,
      (byte) 9,
      (byte) 9,
      (byte) 9,
      (byte) 9,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 10,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 11,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 0,
      (byte) 0,
      (byte) 16,
      (byte) 17,
      (byte) 18,
      (byte) 18,
      (byte) 19,
      (byte) 19,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 28,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29,
      (byte) 29
        };
        public static readonly byte[] LengthCode = new byte[256]
        {
      (byte) 0,
      (byte) 1,
      (byte) 2,
      (byte) 3,
      (byte) 4,
      (byte) 5,
      (byte) 6,
      (byte) 7,
      (byte) 8,
      (byte) 8,
      (byte) 9,
      (byte) 9,
      (byte) 10,
      (byte) 10,
      (byte) 11,
      (byte) 11,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 12,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 13,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 14,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 15,
      (byte) 16,
      (byte) 16,
      (byte) 16,
      (byte) 16,
      (byte) 16,
      (byte) 16,
      (byte) 16,
      (byte) 16,
      (byte) 17,
      (byte) 17,
      (byte) 17,
      (byte) 17,
      (byte) 17,
      (byte) 17,
      (byte) 17,
      (byte) 17,
      (byte) 18,
      (byte) 18,
      (byte) 18,
      (byte) 18,
      (byte) 18,
      (byte) 18,
      (byte) 18,
      (byte) 18,
      (byte) 19,
      (byte) 19,
      (byte) 19,
      (byte) 19,
      (byte) 19,
      (byte) 19,
      (byte) 19,
      (byte) 19,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 20,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 21,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 22,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 23,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 24,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 25,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 26,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 27,
      (byte) 28
        };
        public static readonly int[] BaseDistance = new int[30]
        {
      0,
      1,
      2,
      3,
      4,
      6,
      8,
      12,
      16,
      24,
      32,
      48,
      64,
      96,
      128,
      192,
      256,
      384,
      512,
      768,
      1024,
      1536,
      2048,
      3072,
      4096,
      6144,
      8192,
      12288,
      16384,
      24576
        };
        public static readonly int[] BaseLength = new int[29]
        {
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      10,
      12,
      14,
      16,
      20,
      24,
      28,
      32,
      40,
      48,
      56,
      64,
      80,
      96,
      112,
      128,
      160,
      192,
      224,
      0
        };
        public static readonly int[] ExtraLBits = new int[29]
        {
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      1,
      1,
      1,
      1,
      2,
      2,
      2,
      2,
      3,
      3,
      3,
      3,
      4,
      4,
      4,
      4,
      5,
      5,
      5,
      5,
      0
        };
        public static readonly int[] ExtraDBits = new int[30]
        {
      0,
      0,
      0,
      0,
      1,
      1,
      2,
      2,
      3,
      3,
      4,
      4,
      5,
      5,
      6,
      6,
      7,
      7,
      8,
      8,
      9,
      9,
      10,
      10,
      11,
      11,
      12,
      12,
      13,
      13
        };
        public static readonly int[] ExtraBLBits = new int[19]
        {
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      2,
      3,
      7
        };
        public static readonly byte[] BLOrder = new byte[19]
        {
      (byte) 16,
      (byte) 17,
      (byte) 18,
      (byte) 0,
      (byte) 8,
      (byte) 7,
      (byte) 9,
      (byte) 6,
      (byte) 10,
      (byte) 5,
      (byte) 11,
      (byte) 4,
      (byte) 12,
      (byte) 3,
      (byte) 13,
      (byte) 2,
      (byte) 14,
      (byte) 1,
      (byte) 15
        };
        public static readonly short[] StaticLTree = new short[576]
        {
      (short) 12,
      (short) 8,
      (short) 140,
      (short) 8,
      (short) 76,
      (short) 8,
      (short) 204,
      (short) 8,
      (short) 44,
      (short) 8,
      (short) 172,
      (short) 8,
      (short) 108,
      (short) 8,
      (short) 236,
      (short) 8,
      (short) 28,
      (short) 8,
      (short) 156,
      (short) 8,
      (short) 92,
      (short) 8,
      (short) 220,
      (short) 8,
      (short) 60,
      (short) 8,
      (short) 188,
      (short) 8,
      (short) 124,
      (short) 8,
      (short) 252,
      (short) 8,
      (short) 2,
      (short) 8,
      (short) 130,
      (short) 8,
      (short) 66,
      (short) 8,
      (short) 194,
      (short) 8,
      (short) 34,
      (short) 8,
      (short) 162,
      (short) 8,
      (short) 98,
      (short) 8,
      (short) 226,
      (short) 8,
      (short) 18,
      (short) 8,
      (short) 146,
      (short) 8,
      (short) 82,
      (short) 8,
      (short) 210,
      (short) 8,
      (short) 50,
      (short) 8,
      (short) 178,
      (short) 8,
      (short) 114,
      (short) 8,
      (short) 242,
      (short) 8,
      (short) 10,
      (short) 8,
      (short) 138,
      (short) 8,
      (short) 74,
      (short) 8,
      (short) 202,
      (short) 8,
      (short) 42,
      (short) 8,
      (short) 170,
      (short) 8,
      (short) 106,
      (short) 8,
      (short) 234,
      (short) 8,
      (short) 26,
      (short) 8,
      (short) 154,
      (short) 8,
      (short) 90,
      (short) 8,
      (short) 218,
      (short) 8,
      (short) 58,
      (short) 8,
      (short) 186,
      (short) 8,
      (short) 122,
      (short) 8,
      (short) 250,
      (short) 8,
      (short) 6,
      (short) 8,
      (short) 134,
      (short) 8,
      (short) 70,
      (short) 8,
      (short) 198,
      (short) 8,
      (short) 38,
      (short) 8,
      (short) 166,
      (short) 8,
      (short) 102,
      (short) 8,
      (short) 230,
      (short) 8,
      (short) 22,
      (short) 8,
      (short) 150,
      (short) 8,
      (short) 86,
      (short) 8,
      (short) 214,
      (short) 8,
      (short) 54,
      (short) 8,
      (short) 182,
      (short) 8,
      (short) 118,
      (short) 8,
      (short) 246,
      (short) 8,
      (short) 14,
      (short) 8,
      (short) 142,
      (short) 8,
      (short) 78,
      (short) 8,
      (short) 206,
      (short) 8,
      (short) 46,
      (short) 8,
      (short) 174,
      (short) 8,
      (short) 110,
      (short) 8,
      (short) 238,
      (short) 8,
      (short) 30,
      (short) 8,
      (short) 158,
      (short) 8,
      (short) 94,
      (short) 8,
      (short) 222,
      (short) 8,
      (short) 62,
      (short) 8,
      (short) 190,
      (short) 8,
      (short) 126,
      (short) 8,
      (short) 254,
      (short) 8,
      (short) 1,
      (short) 8,
      (short) 129,
      (short) 8,
      (short) 65,
      (short) 8,
      (short) 193,
      (short) 8,
      (short) 33,
      (short) 8,
      (short) 161,
      (short) 8,
      (short) 97,
      (short) 8,
      (short) 225,
      (short) 8,
      (short) 17,
      (short) 8,
      (short) 145,
      (short) 8,
      (short) 81,
      (short) 8,
      (short) 209,
      (short) 8,
      (short) 49,
      (short) 8,
      (short) 177,
      (short) 8,
      (short) 113,
      (short) 8,
      (short) 241,
      (short) 8,
      (short) 9,
      (short) 8,
      (short) 137,
      (short) 8,
      (short) 73,
      (short) 8,
      (short) 201,
      (short) 8,
      (short) 41,
      (short) 8,
      (short) 169,
      (short) 8,
      (short) 105,
      (short) 8,
      (short) 233,
      (short) 8,
      (short) 25,
      (short) 8,
      (short) 153,
      (short) 8,
      (short) 89,
      (short) 8,
      (short) 217,
      (short) 8,
      (short) 57,
      (short) 8,
      (short) 185,
      (short) 8,
      (short) 121,
      (short) 8,
      (short) 249,
      (short) 8,
      (short) 5,
      (short) 8,
      (short) 133,
      (short) 8,
      (short) 69,
      (short) 8,
      (short) 197,
      (short) 8,
      (short) 37,
      (short) 8,
      (short) 165,
      (short) 8,
      (short) 101,
      (short) 8,
      (short) 229,
      (short) 8,
      (short) 21,
      (short) 8,
      (short) 149,
      (short) 8,
      (short) 85,
      (short) 8,
      (short) 213,
      (short) 8,
      (short) 53,
      (short) 8,
      (short) 181,
      (short) 8,
      (short) 117,
      (short) 8,
      (short) 245,
      (short) 8,
      (short) 13,
      (short) 8,
      (short) 141,
      (short) 8,
      (short) 77,
      (short) 8,
      (short) 205,
      (short) 8,
      (short) 45,
      (short) 8,
      (short) 173,
      (short) 8,
      (short) 109,
      (short) 8,
      (short) 237,
      (short) 8,
      (short) 29,
      (short) 8,
      (short) 157,
      (short) 8,
      (short) 93,
      (short) 8,
      (short) 221,
      (short) 8,
      (short) 61,
      (short) 8,
      (short) 189,
      (short) 8,
      (short) 125,
      (short) 8,
      (short) 253,
      (short) 8,
      (short) 19,
      (short) 9,
      (short) 275,
      (short) 9,
      (short) 147,
      (short) 9,
      (short) 403,
      (short) 9,
      (short) 83,
      (short) 9,
      (short) 339,
      (short) 9,
      (short) 211,
      (short) 9,
      (short) 467,
      (short) 9,
      (short) 51,
      (short) 9,
      (short) 307,
      (short) 9,
      (short) 179,
      (short) 9,
      (short) 435,
      (short) 9,
      (short) 115,
      (short) 9,
      (short) 371,
      (short) 9,
      (short) 243,
      (short) 9,
      (short) 499,
      (short) 9,
      (short) 11,
      (short) 9,
      (short) 267,
      (short) 9,
      (short) 139,
      (short) 9,
      (short) 395,
      (short) 9,
      (short) 75,
      (short) 9,
      (short) 331,
      (short) 9,
      (short) 203,
      (short) 9,
      (short) 459,
      (short) 9,
      (short) 43,
      (short) 9,
      (short) 299,
      (short) 9,
      (short) 171,
      (short) 9,
      (short) 427,
      (short) 9,
      (short) 107,
      (short) 9,
      (short) 363,
      (short) 9,
      (short) 235,
      (short) 9,
      (short) 491,
      (short) 9,
      (short) 27,
      (short) 9,
      (short) 283,
      (short) 9,
      (short) 155,
      (short) 9,
      (short) 411,
      (short) 9,
      (short) 91,
      (short) 9,
      (short) 347,
      (short) 9,
      (short) 219,
      (short) 9,
      (short) 475,
      (short) 9,
      (short) 59,
      (short) 9,
      (short) 315,
      (short) 9,
      (short) 187,
      (short) 9,
      (short) 443,
      (short) 9,
      (short) 123,
      (short) 9,
      (short) 379,
      (short) 9,
      (short) 251,
      (short) 9,
      (short) 507,
      (short) 9,
      (short) 7,
      (short) 9,
      (short) 263,
      (short) 9,
      (short) 135,
      (short) 9,
      (short) 391,
      (short) 9,
      (short) 71,
      (short) 9,
      (short) 327,
      (short) 9,
      (short) 199,
      (short) 9,
      (short) 455,
      (short) 9,
      (short) 39,
      (short) 9,
      (short) 295,
      (short) 9,
      (short) 167,
      (short) 9,
      (short) 423,
      (short) 9,
      (short) 103,
      (short) 9,
      (short) 359,
      (short) 9,
      (short) 231,
      (short) 9,
      (short) 487,
      (short) 9,
      (short) 23,
      (short) 9,
      (short) 279,
      (short) 9,
      (short) 151,
      (short) 9,
      (short) 407,
      (short) 9,
      (short) 87,
      (short) 9,
      (short) 343,
      (short) 9,
      (short) 215,
      (short) 9,
      (short) 471,
      (short) 9,
      (short) 55,
      (short) 9,
      (short) 311,
      (short) 9,
      (short) 183,
      (short) 9,
      (short) 439,
      (short) 9,
      (short) 119,
      (short) 9,
      (short) 375,
      (short) 9,
      (short) 247,
      (short) 9,
      (short) 503,
      (short) 9,
      (short) 15,
      (short) 9,
      (short) 271,
      (short) 9,
      (short) 143,
      (short) 9,
      (short) 399,
      (short) 9,
      (short) 79,
      (short) 9,
      (short) 335,
      (short) 9,
      (short) 207,
      (short) 9,
      (short) 463,
      (short) 9,
      (short) 47,
      (short) 9,
      (short) 303,
      (short) 9,
      (short) 175,
      (short) 9,
      (short) 431,
      (short) 9,
      (short) 111,
      (short) 9,
      (short) 367,
      (short) 9,
      (short) 239,
      (short) 9,
      (short) 495,
      (short) 9,
      (short) 31,
      (short) 9,
      (short) 287,
      (short) 9,
      (short) 159,
      (short) 9,
      (short) 415,
      (short) 9,
      (short) 95,
      (short) 9,
      (short) 351,
      (short) 9,
      (short) 223,
      (short) 9,
      (short) 479,
      (short) 9,
      (short) 63,
      (short) 9,
      (short) 319,
      (short) 9,
      (short) 191,
      (short) 9,
      (short) 447,
      (short) 9,
      (short) sbyte.MaxValue,
      (short) 9,
      (short) 383,
      (short) 9,
      (short) byte.MaxValue,
      (short) 9,
      (short) 511,
      (short) 9,
      (short) 0,
      (short) 7,
      (short) 64,
      (short) 7,
      (short) 32,
      (short) 7,
      (short) 96,
      (short) 7,
      (short) 16,
      (short) 7,
      (short) 80,
      (short) 7,
      (short) 48,
      (short) 7,
      (short) 112,
      (short) 7,
      (short) 8,
      (short) 7,
      (short) 72,
      (short) 7,
      (short) 40,
      (short) 7,
      (short) 104,
      (short) 7,
      (short) 24,
      (short) 7,
      (short) 88,
      (short) 7,
      (short) 56,
      (short) 7,
      (short) 120,
      (short) 7,
      (short) 4,
      (short) 7,
      (short) 68,
      (short) 7,
      (short) 36,
      (short) 7,
      (short) 100,
      (short) 7,
      (short) 20,
      (short) 7,
      (short) 84,
      (short) 7,
      (short) 52,
      (short) 7,
      (short) 116,
      (short) 7,
      (short) 3,
      (short) 8,
      (short) 131,
      (short) 8,
      (short) 67,
      (short) 8,
      (short) 195,
      (short) 8,
      (short) 35,
      (short) 8,
      (short) 163,
      (short) 8,
      (short) 99,
      (short) 8,
      (short) 227,
      (short) 8
        };
        public static readonly short[] StaticDTree = new short[60]
        {
      (short) 0,
      (short) 5,
      (short) 16,
      (short) 5,
      (short) 8,
      (short) 5,
      (short) 24,
      (short) 5,
      (short) 4,
      (short) 5,
      (short) 20,
      (short) 5,
      (short) 12,
      (short) 5,
      (short) 28,
      (short) 5,
      (short) 2,
      (short) 5,
      (short) 18,
      (short) 5,
      (short) 10,
      (short) 5,
      (short) 26,
      (short) 5,
      (short) 6,
      (short) 5,
      (short) 22,
      (short) 5,
      (short) 14,
      (short) 5,
      (short) 30,
      (short) 5,
      (short) 1,
      (short) 5,
      (short) 17,
      (short) 5,
      (short) 9,
      (short) 5,
      (short) 25,
      (short) 5,
      (short) 5,
      (short) 5,
      (short) 21,
      (short) 5,
      (short) 13,
      (short) 5,
      (short) 29,
      (short) 5,
      (short) 3,
      (short) 5,
      (short) 19,
      (short) 5,
      (short) 11,
      (short) 5,
      (short) 27,
      (short) 5,
      (short) 7,
      (short) 5,
      (short) 23,
      (short) 5
        };
        public const int MaxBits = 15;
        public const int MaxBLBits = 7;
        public const int Literals = 256;
        public const int LengthCodes = 29;
        public const int BLCodes = 19;
        public const int DCodes = 30;
    }

}
